Reusing the datachallenge implementation for exploring global usecase with different constellation

Reusing the datachallenge implementation for exploring global usecase with different constellation#

Downloading versioned and preprocessed data#

!ocb-dc_ose_2021-input_data --cfg job -p params
# @package params
sat: ???
sat_list:
- alg
- h2ag
- j2g
- j2n
- j3
- s3a
min_time: '2016-12-01'
max_time: '2018-02-01'
min_lon: -66.0
max_lon: -54.0
min_lat: 32.0
max_lat: 44.0
!mkdir -p conf/aprl/overrides
%%writefile conf/aprl/overrides/global.yaml
# @package params

sat_list: [j3, s3b, h2ag, c2]
min_time: 2019-05-01
max_time: 2019-05-31
min_lon: -180
max_lon: 180
min_lat: -90
max_lat: 90
Writing conf/aprl/overrides/global.yaml
!ocb-dc_ose_2021-input_data -m \
    'hydra.searchpath=[file://conf]'  +overrides@params=global\
     dry=True
[2024-04-10 09:49:12,498][HYDRA] Launching 4 jobs locally
[2024-04-10 09:49:12,498][HYDRA] 	#0 : params.sat=j3 +overrides@params=global dry=True
[2024-04-10 09:49:12,594][aprl.appareil][INFO] - Starting
[2024-04-10 09:49:12,594][aprl.appareil][INFO] - Running part _01_dl_track
[2024-04-10 09:49:12,594][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:49:12,594][aprl.appareil][INFO] - Done
[2024-04-10 09:49:12,595][HYDRA] 	#1 : params.sat=s3b +overrides@params=global dry=True
[2024-04-10 09:49:12,691][aprl.appareil][INFO] - Starting
[2024-04-10 09:49:12,692][aprl.appareil][INFO] - Running part _01_dl_track
[2024-04-10 09:49:12,692][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:49:12,692][aprl.appareil][INFO] - Done
[2024-04-10 09:49:12,692][HYDRA] 	#2 : params.sat=h2ag +overrides@params=global dry=True
[2024-04-10 09:49:12,788][aprl.appareil][INFO] - Starting
[2024-04-10 09:49:12,788][aprl.appareil][INFO] - Running part _01_dl_track
[2024-04-10 09:49:12,788][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:49:12,788][aprl.appareil][INFO] - Done
[2024-04-10 09:49:12,789][HYDRA] 	#3 : params.sat=c2 +overrides@params=global dry=True
[2024-04-10 09:49:12,884][aprl.appareil][INFO] - Starting
[2024-04-10 09:49:12,884][aprl.appareil][INFO] - Running part _01_dl_track
[2024-04-10 09:49:12,884][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:49:12,884][aprl.appareil][INFO] - Done
!ocb-dc_ose_2021-input_data -m \
    'hydra.searchpath=[file://conf]' \
      +overrides@params=global
[2024-04-10 09:49:14,572][HYDRA] Launching 4 jobs locally
[2024-04-10 09:49:14,573][HYDRA] 	#0 : params.sat=j3 +overrides@params=global
[2024-04-10 09:49:14,668][aprl.appareil][INFO] - Starting
[2024-04-10 09:49:14,668][aprl.appareil][INFO] - Running part _01_dl_track
Fetching catalog:   0%|                                   | 0/3 [00:00<?, ?it/s]
Fetching catalog:  33%|█████████                  | 1/3 [00:13<00:26, 13.49s/it]
Fetching catalog: 100%|███████████████████████████| 3/3 [00:13<00:00,  4.50s/it]
INFO - 2024-04-10T09:49:28Z - Dataset version was not specified, the latest one was selected: "202112"
[2024-04-10 09:49:28,374][copernicus_marine_root_logger][INFO] - Dataset version was not specified, the latest one was selected: "202112"
INFO - 2024-04-10T09:49:28Z - Dataset part was not specified, the first one was selected: "default"
[2024-04-10 09:49:28,374][copernicus_marine_root_logger][INFO] - Dataset part was not specified, the first one was selected: "default"
INFO - 2024-04-10T09:49:28Z - Service was not specified, the default one was selected: "original-files"
[2024-04-10 09:49:28,374][copernicus_marine_root_logger][INFO] - Service was not specified, the default one was selected: "original-files"
INFO - 2024-04-10T09:49:28Z - Downloading using service original-files...
[2024-04-10 09:49:28,374][copernicus_marine_root_logger][INFO] - Downloading using service original-files...
  0%|                                                    | 0/31 [00:00<?, ?it/s]
  3%|█▍                                          | 1/31 [00:07<03:31,  7.06s/it]
100%|███████████████████████████████████████████| 31/31 [00:07<00:00,  4.34it/s]
[2024-04-10 09:49:36,684][aprl.appareil][INFO] - part _01_dl_track done
[2024-04-10 09:49:36,685][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:49:36,685][ocb_dc_ose_2021.mods.prepare_track][INFO] - Starting
[2024-04-10 09:49:45,951][ocb_dc_ose_2021.mods.prepare_track][INFO] - Done
[2024-04-10 09:49:45,969][aprl.appareil][INFO] - part _02_prepare_track done
[2024-04-10 09:49:45,969][aprl.appareil][INFO] - Done
[2024-04-10 09:49:45,971][HYDRA] 	#1 : params.sat=s3b +overrides@params=global
[2024-04-10 09:49:46,072][aprl.appareil][INFO] - Starting
[2024-04-10 09:49:46,072][aprl.appareil][INFO] - Running part _01_dl_track
Fetching catalog:   0%|                                   | 0/3 [00:00<?, ?it/s]
Fetching catalog:  33%|█████████                  | 1/3 [00:14<00:28, 14.32s/it]
Fetching catalog: 100%|███████████████████████████| 3/3 [00:14<00:00,  4.78s/it]
INFO - 2024-04-10T09:50:00Z - Dataset version was not specified, the latest one was selected: "202112"
[2024-04-10 09:50:00,608][copernicus_marine_root_logger][INFO] - Dataset version was not specified, the latest one was selected: "202112"
INFO - 2024-04-10T09:50:00Z - Dataset part was not specified, the first one was selected: "default"
[2024-04-10 09:50:00,608][copernicus_marine_root_logger][INFO] - Dataset part was not specified, the first one was selected: "default"
INFO - 2024-04-10T09:50:00Z - Service was not specified, the default one was selected: "original-files"
[2024-04-10 09:50:00,608][copernicus_marine_root_logger][INFO] - Service was not specified, the default one was selected: "original-files"
INFO - 2024-04-10T09:50:00Z - Downloading using service original-files...
[2024-04-10 09:50:00,608][copernicus_marine_root_logger][INFO] - Downloading using service original-files...
  0%|                                                    | 0/31 [00:00<?, ?it/s]
  3%|█▍                                          | 1/31 [00:04<02:24,  4.82s/it]
 10%|████▎                                       | 3/31 [00:05<00:38,  1.38s/it]
 23%|█████████▉                                  | 7/31 [00:05<00:12,  1.97it/s]
 74%|███████████████████████████████▉           | 23/31 [00:05<00:00,  8.60it/s]
100%|███████████████████████████████████████████| 31/31 [00:05<00:00,  5.34it/s]
[2024-04-10 09:50:07,192][aprl.appareil][INFO] - part _01_dl_track done
[2024-04-10 09:50:07,193][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:50:07,193][ocb_dc_ose_2021.mods.prepare_track][INFO] - Starting
[2024-04-10 09:50:13,166][ocb_dc_ose_2021.mods.prepare_track][INFO] - Done
[2024-04-10 09:50:13,186][aprl.appareil][INFO] - part _02_prepare_track done
[2024-04-10 09:50:13,186][aprl.appareil][INFO] - Done
[2024-04-10 09:50:13,188][HYDRA] 	#2 : params.sat=h2ag +overrides@params=global
[2024-04-10 09:50:13,290][aprl.appareil][INFO] - Starting
[2024-04-10 09:50:13,290][aprl.appareil][INFO] - Running part _01_dl_track
Fetching catalog:   0%|                                   | 0/3 [00:00<?, ?it/s]
Fetching catalog:  33%|█████████                  | 1/3 [00:14<00:28, 14.15s/it]
Fetching catalog: 100%|███████████████████████████| 3/3 [00:14<00:00,  4.72s/it]
INFO - 2024-04-10T09:50:27Z - Dataset version was not specified, the latest one was selected: "202112"
[2024-04-10 09:50:27,626][copernicus_marine_root_logger][INFO] - Dataset version was not specified, the latest one was selected: "202112"
INFO - 2024-04-10T09:50:27Z - Dataset part was not specified, the first one was selected: "default"
[2024-04-10 09:50:27,626][copernicus_marine_root_logger][INFO] - Dataset part was not specified, the first one was selected: "default"
INFO - 2024-04-10T09:50:27Z - Service was not specified, the default one was selected: "original-files"
[2024-04-10 09:50:27,626][copernicus_marine_root_logger][INFO] - Service was not specified, the default one was selected: "original-files"
INFO - 2024-04-10T09:50:27Z - Downloading using service original-files...
[2024-04-10 09:50:27,626][copernicus_marine_root_logger][INFO] - Downloading using service original-files...
  0%|                                                    | 0/31 [00:00<?, ?it/s]
  3%|█▍                                          | 1/31 [00:04<02:27,  4.92s/it]
  6%|██▊                                         | 2/31 [00:05<01:01,  2.10s/it]
100%|███████████████████████████████████████████| 31/31 [00:05<00:00,  6.13it/s]
[2024-04-10 09:50:33,888][aprl.appareil][INFO] - part _01_dl_track done
[2024-04-10 09:50:33,888][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:50:33,888][ocb_dc_ose_2021.mods.prepare_track][INFO] - Starting
[2024-04-10 09:50:36,733][ocb_dc_ose_2021.mods.prepare_track][INFO] - Done
[2024-04-10 09:50:36,747][aprl.appareil][INFO] - part _02_prepare_track done
[2024-04-10 09:50:36,748][aprl.appareil][INFO] - Done
[2024-04-10 09:50:36,749][HYDRA] 	#3 : params.sat=c2 +overrides@params=global
[2024-04-10 09:50:36,850][aprl.appareil][INFO] - Starting
[2024-04-10 09:50:36,850][aprl.appareil][INFO] - Running part _01_dl_track
Fetching catalog:   0%|                                   | 0/3 [00:00<?, ?it/s]
Fetching catalog:  33%|█████████                  | 1/3 [00:14<00:28, 14.04s/it]
Fetching catalog: 100%|███████████████████████████| 3/3 [00:14<00:00,  4.68s/it]
INFO - 2024-04-10T09:50:51Z - Dataset version was not specified, the latest one was selected: "202112"
[2024-04-10 09:50:51,050][copernicus_marine_root_logger][INFO] - Dataset version was not specified, the latest one was selected: "202112"
INFO - 2024-04-10T09:50:51Z - Dataset part was not specified, the first one was selected: "default"
[2024-04-10 09:50:51,050][copernicus_marine_root_logger][INFO] - Dataset part was not specified, the first one was selected: "default"
INFO - 2024-04-10T09:50:51Z - Service was not specified, the default one was selected: "original-files"
[2024-04-10 09:50:51,050][copernicus_marine_root_logger][INFO] - Service was not specified, the default one was selected: "original-files"
INFO - 2024-04-10T09:50:51Z - Downloading using service original-files...
[2024-04-10 09:50:51,050][copernicus_marine_root_logger][INFO] - Downloading using service original-files...
  0%|                                                    | 0/31 [00:00<?, ?it/s]
  3%|█▍                                          | 1/31 [00:04<02:21,  4.71s/it]
 42%|██████████████████                         | 13/31 [00:04<00:04,  3.71it/s]
100%|███████████████████████████████████████████| 31/31 [00:04<00:00,  6.41it/s]
[2024-04-10 09:50:57,431][aprl.appareil][INFO] - part _01_dl_track done
[2024-04-10 09:50:57,431][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:50:57,432][ocb_dc_ose_2021.mods.prepare_track][INFO] - Starting
[2024-04-10 09:51:02,676][ocb_dc_ose_2021.mods.prepare_track][INFO] - Done
[2024-04-10 09:51:02,694][aprl.appareil][INFO] - part _02_prepare_track done
[2024-04-10 09:51:02,694][aprl.appareil][INFO] - Done

import xarray as xr
import pandas as pd

obs = xr.open_mfdataset('data/prepared/input/*.nc', combine='nested',concat_dim='time')
import hvplot.xarray
import hvplot
hvplot.extension('matplotlib')
bin_size = 0.25
to_plot = (obs.where((obs.time>pd.to_datetime('2019-05-15')) & (obs.time<pd.to_datetime('2019-05-16')) )
.drop_vars('time').assign(
        lat=obs.lat / bin_size // 1 * bin_size,
        lon=obs.lon / bin_size // 1 * bin_size
    )[['ssh', 'lat', 'lon']].load()
    .drop_vars('time')
    .to_dataframe()
    .groupby(['lat', 'lon']).mean()
    .to_xarray()
).ssh
to_plot.hvplot(
    kind='quadmesh',
    geo=True,
    coastline=True,
    width=7000,
    height=500,
    cmap='RdYlBu_r'
)
!wget https://gist.githubusercontent.com/quentinf00/2d034392ee9b385fb4de3c8628bfc844/raw/aaeaed8ce5a1559507be8dd52e37c134f777192c/patcher_oi_torch.py
--2024-04-10 09:51:30--  https://gist.githubusercontent.com/quentinf00/2d034392ee9b385fb4de3c8628bfc844/raw/aaeaed8ce5a1559507be8dd52e37c134f777192c/patcher_oi_torch.py
Resolving gist.githubusercontent.com (gist.githubusercontent.com)... 185.199.108.133, 185.199.110.133, 185.199.109.133, ...
Connecting to gist.githubusercontent.com (gist.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 
200 OK
Length: 4242 (4,1K) [text/plain]
Saving to: ‘patcher_oi_torch.py’


patcher_oi_torch.py   0%[                    ]       0  --.-KB/s               
patcher_oi_torch.py 100%[===================>]   4,14K  --.-KB/s    in 0s      

2024-04-10 09:51:31 (68,6 MB/s) - ‘patcher_oi_torch.py’ saved [4242/4242]
import numpy as np
import xarray as xr
import pandas as pd
from functools import partial
from xrpatcher import XRDAPatcher
from patcher_oi_torch import oi


outgrid = oi(
    outgrid_da=xr.DataArray(
        dims=('time', 'lat', 'lon'),
        coords=dict(
            time=pd.date_range('2019-05-15', '2019-05-15'),
            lat=np.arange(-90, 90, .25),
            lon=np.arange(-180, 180, .25),
        ),
    ),
    patcher_cls=partial(XRDAPatcher,
        patches=dict(time=1, lat=40, lon=80),
        strides=dict(time=1, lat=40, lon=80)
    ),
    obs=obs.load(),
    lt=pd.to_timedelta('7D'), lx=1., ly=1.,
    noise=0.05,
    obs_dt=pd.to_timedelta('2D'), obs_dx=.5, obs_dy=.5,
    device='cuda'
)
  0%|                                                                                                                                                                                        | 0/324 [00:00<?, ?it/s]
  0%|▌                                                                                                                                                                               | 1/324 [00:01<10:21,  1.92s/it]
  1%|█                                                                                                                                                                               | 2/324 [00:04<11:08,  2.08s/it]
  1%|█▋                                                                                                                                                                              | 3/324 [00:06<10:54,  2.04s/it]
  1%|██▏                                                                                                                                                                             | 4/324 [00:07<10:06,  1.89s/it]
  2%|██▋                                                                                                                                                                             | 5/324 [00:09<09:49,  1.85s/it]
  2%|███▎                                                                                                                                                                            | 6/324 [00:10<08:31,  1.61s/it]
  2%|███▊                                                                                                                                                                            | 7/324 [00:12<09:09,  1.73s/it]
  2%|████▎                                                                                                                                                                           | 8/324 [00:14<09:51,  1.87s/it]
  3%|████▉                                                                                                                                                                           | 9/324 [00:16<09:30,  1.81s/it]
  3%|█████▍                                                                                                                                                                         | 10/324 [00:17<07:28,  1.43s/it]
  3%|█████▉                                                                                                                                                                         | 11/324 [00:17<05:38,  1.08s/it]
  4%|██████▍                                                                                                                                                                        | 12/324 [00:17<04:11,  1.24it/s]
  4%|███████                                                                                                                                                                        | 13/324 [00:17<03:11,  1.63it/s]
  4%|███████▌                                                                                                                                                                       | 14/324 [00:17<02:30,  2.07it/s]
  5%|████████                                                                                                                                                                       | 15/324 [00:18<02:00,  2.56it/s]
  5%|████████▋                                                                                                                                                                      | 16/324 [00:18<01:41,  3.05it/s]
  5%|█████████▏                                                                                                                                                                     | 17/324 [00:18<01:27,  3.52it/s]
  6%|█████████▋                                                                                                                                                                     | 18/324 [00:18<01:17,  3.97it/s]
  6%|██████████▎                                                                                                                                                                    | 19/324 [00:21<05:19,  1.05s/it]
  6%|██████████▊                                                                                                                                                                    | 20/324 [00:21<04:04,  1.24it/s]
  6%|███████████▎                                                                                                                                                                   | 21/324 [00:21<03:08,  1.61it/s]
  7%|███████████▉                                                                                                                                                                   | 22/324 [00:22<02:28,  2.04it/s]
  7%|████████████▍                                                                                                                                                                  | 23/324 [00:22<02:00,  2.51it/s]
  7%|████████████▉                                                                                                                                                                  | 24/324 [00:22<01:40,  2.98it/s]
  8%|█████████████▌                                                                                                                                                                 | 25/324 [00:22<01:25,  3.49it/s]
  8%|██████████████                                                                                                                                                                 | 26/324 [00:22<01:16,  3.89it/s]
  8%|██████████████▌                                                                                                                                                                | 27/324 [00:23<01:10,  4.23it/s]
  9%|███████████████                                                                                                                                                                | 28/324 [00:23<01:04,  4.61it/s]
  9%|███████████████▋                                                                                                                                                               | 29/324 [00:23<00:59,  4.92it/s]
  9%|████████████████▏                                                                                                                                                              | 30/324 [00:23<00:57,  5.16it/s]
 10%|████████████████▋                                                                                                                                                              | 31/324 [00:23<00:55,  5.32it/s]
 10%|█████████████████▎                                                                                                                                                             | 32/324 [00:23<00:53,  5.44it/s]
 10%|█████████████████▊                                                                                                                                                             | 33/324 [00:24<00:54,  5.30it/s]
 10%|██████████████████▎                                                                                                                                                            | 34/324 [00:24<00:50,  5.75it/s]
 11%|██████████████████▉                                                                                                                                                            | 35/324 [00:24<00:47,  6.07it/s]
 11%|███████████████████▍                                                                                                                                                           | 36/324 [00:24<00:45,  6.36it/s]
 11%|███████████████████▉                                                                                                                                                           | 37/324 [00:24<00:53,  5.40it/s]
 12%|████████████████████▌                                                                                                                                                          | 38/324 [00:25<01:01,  4.68it/s]
 12%|█████████████████████                                                                                                                                                          | 39/324 [00:25<01:08,  4.14it/s]
 12%|█████████████████████▌                                                                                                                                                         | 40/324 [00:25<01:12,  3.90it/s]
 13%|██████████████████████▏                                                                                                                                                        | 41/324 [00:25<01:15,  3.74it/s]
 13%|██████████████████████▋                                                                                                                                                        | 42/324 [00:26<01:13,  3.82it/s]
 13%|███████████████████████▏                                                                                                                                                       | 43/324 [00:26<01:06,  4.25it/s]
 14%|███████████████████████▊                                                                                                                                                       | 44/324 [00:26<01:07,  4.14it/s]
 14%|████████████████████████▎                                                                                                                                                      | 45/324 [00:26<01:11,  3.89it/s]
 14%|████████████████████████▊                                                                                                                                                      | 46/324 [00:27<01:09,  3.98it/s]
 15%|█████████████████████████▍                                                                                                                                                     | 47/324 [00:27<01:08,  4.02it/s]
 15%|█████████████████████████▉                                                                                                                                                     | 48/324 [00:27<01:07,  4.08it/s]
 15%|██████████████████████████▍                                                                                                                                                    | 49/324 [00:27<01:04,  4.29it/s]
 15%|███████████████████████████                                                                                                                                                    | 50/324 [00:28<00:59,  4.58it/s]
 16%|███████████████████████████▌                                                                                                                                                   | 51/324 [00:28<00:57,  4.74it/s]
 16%|████████████████████████████                                                                                                                                                   | 52/324 [00:28<00:57,  4.74it/s]
 16%|████████████████████████████▋                                                                                                                                                  | 53/324 [00:28<00:57,  4.72it/s]
 17%|█████████████████████████████▏                                                                                                                                                 | 54/324 [00:28<00:59,  4.58it/s]
 17%|█████████████████████████████▋                                                                                                                                                 | 55/324 [00:29<01:05,  4.12it/s]
 17%|██████████████████████████████▏                                                                                                                                                | 56/324 [00:29<01:10,  3.79it/s]
 18%|██████████████████████████████▊                                                                                                                                                | 57/324 [00:29<01:14,  3.60it/s]
 18%|███████████████████████████████▎                                                                                                                                               | 58/324 [00:30<01:17,  3.44it/s]
 18%|███████████████████████████████▊                                                                                                                                               | 59/324 [00:30<01:18,  3.37it/s]
 19%|████████████████████████████████▍                                                                                                                                              | 60/324 [00:30<01:16,  3.43it/s]
 19%|████████████████████████████████▉                                                                                                                                              | 61/324 [00:31<01:16,  3.43it/s]
 19%|█████████████████████████████████▍                                                                                                                                             | 62/324 [00:31<01:17,  3.37it/s]
 19%|██████████████████████████████████                                                                                                                                             | 63/324 [00:31<01:18,  3.31it/s]
 20%|██████████████████████████████████▌                                                                                                                                            | 64/324 [00:31<01:19,  3.25it/s]
 20%|███████████████████████████████████                                                                                                                                            | 65/324 [00:32<01:20,  3.23it/s]
 20%|███████████████████████████████████▋                                                                                                                                           | 66/324 [00:32<01:20,  3.21it/s]
 21%|████████████████████████████████████▏                                                                                                                                          | 67/324 [00:32<01:20,  3.20it/s]
 21%|████████████████████████████████████▋                                                                                                                                          | 68/324 [00:33<01:20,  3.20it/s]
 21%|█████████████████████████████████████▎                                                                                                                                         | 69/324 [00:33<01:20,  3.18it/s]
 22%|█████████████████████████████████████▊                                                                                                                                         | 70/324 [00:33<01:19,  3.18it/s]
 22%|██████████████████████████████████████▎                                                                                                                                        | 71/324 [00:34<01:20,  3.15it/s]
 22%|██████████████████████████████████████▉                                                                                                                                        | 72/324 [00:34<01:18,  3.20it/s]
 23%|███████████████████████████████████████▍                                                                                                                                       | 73/324 [00:34<01:14,  3.35it/s]
 23%|███████████████████████████████████████▉                                                                                                                                       | 74/324 [00:35<01:13,  3.39it/s]
 23%|████████████████████████████████████████▌                                                                                                                                      | 75/324 [00:35<01:12,  3.44it/s]
 23%|█████████████████████████████████████████                                                                                                                                      | 76/324 [00:35<01:11,  3.46it/s]
 24%|█████████████████████████████████████████▌                                                                                                                                     | 77/324 [00:35<01:10,  3.49it/s]
 24%|██████████████████████████████████████████▏                                                                                                                                    | 78/324 [00:36<01:05,  3.75it/s]
 24%|██████████████████████████████████████████▋                                                                                                                                    | 79/324 [00:36<01:06,  3.70it/s]
 25%|███████████████████████████████████████████▏                                                                                                                                   | 80/324 [00:36<01:06,  3.65it/s]
 25%|███████████████████████████████████████████▊                                                                                                                                   | 81/324 [00:36<01:07,  3.61it/s]
 25%|████████████████████████████████████████████▎                                                                                                                                  | 82/324 [00:37<01:07,  3.57it/s]
 26%|████████████████████████████████████████████▊                                                                                                                                  | 83/324 [00:37<01:07,  3.55it/s]
 26%|█████████████████████████████████████████████▎                                                                                                                                 | 84/324 [00:37<01:07,  3.54it/s]
 26%|█████████████████████████████████████████████▉                                                                                                                                 | 85/324 [00:38<01:07,  3.52it/s]
 27%|██████████████████████████████████████████████▍                                                                                                                                | 86/324 [00:38<01:07,  3.54it/s]
 27%|██████████████████████████████████████████████▉                                                                                                                                | 87/324 [00:38<01:06,  3.55it/s]
 27%|███████████████████████████████████████████████▌                                                                                                                               | 88/324 [00:38<01:06,  3.56it/s]
 27%|████████████████████████████████████████████████                                                                                                                               | 89/324 [00:39<01:05,  3.57it/s]
 28%|████████████████████████████████████████████████▌                                                                                                                              | 90/324 [00:39<01:03,  3.68it/s]
 28%|█████████████████████████████████████████████████▏                                                                                                                             | 91/324 [00:39<01:01,  3.77it/s]
 28%|█████████████████████████████████████████████████▋                                                                                                                             | 92/324 [00:40<01:03,  3.64it/s]
 29%|██████████████████████████████████████████████████▏                                                                                                                            | 93/324 [00:40<01:07,  3.43it/s]
 29%|██████████████████████████████████████████████████▊                                                                                                                            | 94/324 [00:40<01:05,  3.50it/s]
 29%|███████████████████████████████████████████████████▎                                                                                                                           | 95/324 [00:40<01:03,  3.60it/s]
 30%|███████████████████████████████████████████████████▊                                                                                                                           | 96/324 [00:41<00:57,  4.00it/s]
 30%|████████████████████████████████████████████████████▍                                                                                                                          | 97/324 [00:41<00:55,  4.11it/s]
 30%|████████████████████████████████████████████████████▉                                                                                                                          | 98/324 [00:41<00:56,  4.02it/s]
 31%|█████████████████████████████████████████████████████▍                                                                                                                         | 99/324 [00:41<00:57,  3.93it/s]
 31%|█████████████████████████████████████████████████████▋                                                                                                                        | 100/324 [00:42<00:57,  3.92it/s]
 31%|██████████████████████████████████████████████████████▏                                                                                                                       | 101/324 [00:42<00:55,  4.02it/s]
 31%|██████████████████████████████████████████████████████▊                                                                                                                       | 102/324 [00:42<00:55,  3.98it/s]
 32%|███████████████████████████████████████████████████████▎                                                                                                                      | 103/324 [00:42<01:04,  3.40it/s]
 32%|███████████████████████████████████████████████████████▊                                                                                                                      | 104/324 [00:43<01:17,  2.84it/s]
 32%|████████████████████████████████████████████████████████▍                                                                                                                     | 105/324 [00:44<01:34,  2.33it/s]
 33%|████████████████████████████████████████████████████████▉                                                                                                                     | 106/324 [00:44<01:27,  2.49it/s]
 33%|█████████████████████████████████████████████████████████▍                                                                                                                    | 107/324 [00:44<01:27,  2.48it/s]
 33%|██████████████████████████████████████████████████████████                                                                                                                    | 108/324 [00:45<01:28,  2.43it/s]
 34%|██████████████████████████████████████████████████████████▌                                                                                                                   | 109/324 [00:45<01:18,  2.75it/s]
 34%|███████████████████████████████████████████████████████████                                                                                                                   | 110/324 [00:45<01:16,  2.80it/s]
 34%|███████████████████████████████████████████████████████████▌                                                                                                                  | 111/324 [00:46<01:54,  1.87it/s]
 35%|████████████████████████████████████████████████████████████▏                                                                                                                 | 112/324 [00:47<01:57,  1.80it/s]
 35%|████████████████████████████████████████████████████████████▋                                                                                                                 | 113/324 [00:48<02:17,  1.54it/s]
 35%|█████████████████████████████████████████████████████████████▏                                                                                                                | 114/324 [00:48<02:16,  1.54it/s]
 35%|█████████████████████████████████████████████████████████████▊                                                                                                                | 115/324 [00:49<02:16,  1.53it/s]
 36%|██████████████████████████████████████████████████████████████▎                                                                                                               | 116/324 [00:50<02:33,  1.36it/s]
 36%|██████████████████████████████████████████████████████████████▊                                                                                                               | 117/324 [00:52<03:52,  1.12s/it]
 36%|███████████████████████████████████████████████████████████████▎                                                                                                              | 118/324 [00:56<06:39,  1.94s/it]
 37%|███████████████████████████████████████████████████████████████▉                                                                                                              | 119/324 [01:01<09:59,  2.92s/it]
 37%|████████████████████████████████████████████████████████████████▍                                                                                                             | 120/324 [01:06<12:00,  3.53s/it]
 37%|████████████████████████████████████████████████████████████████▉                                                                                                             | 121/324 [01:12<14:19,  4.23s/it]
 38%|█████████████████████████████████████████████████████████████████▌                                                                                                            | 122/324 [01:18<15:43,  4.67s/it]
 38%|██████████████████████████████████████████████████████████████████                                                                                                            | 123/324 [01:23<16:43,  4.99s/it]
 38%|██████████████████████████████████████████████████████████████████▌                                                                                                           | 124/324 [01:28<16:19,  4.90s/it]
 39%|███████████████████████████████████████████████████████████████████▏                                                                                                          | 125/324 [01:33<16:17,  4.91s/it]
 39%|███████████████████████████████████████████████████████████████████▋                                                                                                          | 126/324 [01:39<17:32,  5.32s/it]
 39%|████████████████████████████████████████████████████████████████████▏                                                                                                         | 127/324 [01:44<17:12,  5.24s/it]
 40%|████████████████████████████████████████████████████████████████████▋                                                                                                         | 128/324 [01:51<18:54,  5.79s/it]
 40%|█████████████████████████████████████████████████████████████████████▎                                                                                                        | 129/324 [02:00<21:25,  6.59s/it]
 40%|█████████████████████████████████████████████████████████████████████▊                                                                                                        | 130/324 [02:08<22:46,  7.04s/it]
 40%|██████████████████████████████████████████████████████████████████████▎                                                                                                       | 131/324 [02:18<25:28,  7.92s/it]
 41%|██████████████████████████████████████████████████████████████████████▉                                                                                                       | 132/324 [02:24<23:46,  7.43s/it]
 41%|███████████████████████████████████████████████████████████████████████▍                                                                                                      | 133/324 [02:31<23:30,  7.38s/it]
 41%|███████████████████████████████████████████████████████████████████████▉                                                                                                      | 134/324 [02:36<20:32,  6.49s/it]
 42%|████████████████████████████████████████████████████████████████████████▌                                                                                                     | 135/324 [02:43<21:05,  6.70s/it]
 42%|█████████████████████████████████████████████████████████████████████████                                                                                                     | 136/324 [02:52<22:45,  7.26s/it]
 42%|█████████████████████████████████████████████████████████████████████████▌                                                                                                    | 137/324 [02:59<22:29,  7.22s/it]
 43%|██████████████████████████████████████████████████████████████████████████                                                                                                    | 138/324 [03:05<21:46,  7.02s/it]
 43%|██████████████████████████████████████████████████████████████████████████▋                                                                                                   | 139/324 [03:12<21:37,  7.01s/it]
 43%|███████████████████████████████████████████████████████████████████████████▏                                                                                                  | 140/324 [03:19<21:00,  6.85s/it]
 44%|███████████████████████████████████████████████████████████████████████████▋                                                                                                  | 141/324 [03:25<20:26,  6.70s/it]
 44%|████████████████████████████████████████████████████████████████████████████▎                                                                                                 | 142/324 [03:31<19:59,  6.59s/it]
 44%|████████████████████████████████████████████████████████████████████████████▊                                                                                                 | 143/324 [03:38<20:06,  6.66s/it]
 44%|█████████████████████████████████████████████████████████████████████████████▎                                                                                                | 144/324 [03:45<19:59,  6.66s/it]
 45%|█████████████████████████████████████████████████████████████████████████████▊                                                                                                | 145/324 [03:51<19:17,  6.47s/it]
 45%|██████████████████████████████████████████████████████████████████████████████▍                                                                                               | 146/324 [03:58<19:16,  6.50s/it]
 45%|██████████████████████████████████████████████████████████████████████████████▉                                                                                               | 147/324 [04:04<19:20,  6.56s/it]
 46%|███████████████████████████████████████████████████████████████████████████████▍                                                                                              | 148/324 [04:10<18:58,  6.47s/it]
 46%|████████████████████████████████████████████████████████████████████████████████                                                                                              | 149/324 [04:17<18:38,  6.39s/it]
 46%|████████████████████████████████████████████████████████████████████████████████▌                                                                                             | 150/324 [04:23<18:36,  6.42s/it]
 47%|█████████████████████████████████████████████████████████████████████████████████                                                                                             | 151/324 [04:30<19:10,  6.65s/it]
 47%|█████████████████████████████████████████████████████████████████████████████████▋                                                                                            | 152/324 [04:37<19:29,  6.80s/it]
 47%|██████████████████████████████████████████████████████████████████████████████████▏                                                                                           | 153/324 [04:45<19:38,  6.89s/it]
 48%|██████████████████████████████████████████████████████████████████████████████████▋                                                                                           | 154/324 [04:52<19:50,  7.00s/it]
 48%|███████████████████████████████████████████████████████████████████████████████████▏                                                                                          | 155/324 [04:52<14:06,  5.01s/it]
 48%|███████████████████████████████████████████████████████████████████████████████████▊                                                                                          | 156/324 [04:53<10:21,  3.70s/it]
 48%|████████████████████████████████████████████████████████████████████████████████████▎                                                                                         | 157/324 [04:53<07:43,  2.78s/it]
 49%|████████████████████████████████████████████████████████████████████████████████████▊                                                                                         | 158/324 [04:54<05:48,  2.10s/it]
 49%|█████████████████████████████████████████████████████████████████████████████████████▍                                                                                        | 159/324 [04:55<04:31,  1.64s/it]
 49%|█████████████████████████████████████████████████████████████████████████████████████▉                                                                                        | 160/324 [04:55<03:38,  1.33s/it]
 50%|██████████████████████████████████████████████████████████████████████████████████████▍                                                                                       | 161/324 [04:56<03:03,  1.13s/it]
 50%|███████████████████████████████████████████████████████████████████████████████████████                                                                                       | 162/324 [04:57<02:47,  1.04s/it]
 50%|███████████████████████████████████████████████████████████████████████████████████████▌                                                                                      | 163/324 [04:57<02:30,  1.07it/s]
 51%|████████████████████████████████████████████████████████████████████████████████████████                                                                                      | 164/324 [04:58<02:19,  1.15it/s]
 51%|████████████████████████████████████████████████████████████████████████████████████████▌                                                                                     | 165/324 [04:59<02:17,  1.15it/s]
 51%|█████████████████████████████████████████████████████████████████████████████████████████▏                                                                                    | 166/324 [05:00<02:12,  1.19it/s]
 52%|█████████████████████████████████████████████████████████████████████████████████████████▋                                                                                    | 167/324 [05:00<02:05,  1.25it/s]
 52%|██████████████████████████████████████████████████████████████████████████████████████████▏                                                                                   | 168/324 [05:01<02:02,  1.27it/s]
 52%|██████████████████████████████████████████████████████████████████████████████████████████▊                                                                                   | 169/324 [05:02<02:04,  1.24it/s]
 52%|███████████████████████████████████████████████████████████████████████████████████████████▎                                                                                  | 170/324 [05:03<01:58,  1.30it/s]
 53%|███████████████████████████████████████████████████████████████████████████████████████████▊                                                                                  | 171/324 [05:03<01:47,  1.42it/s]
 53%|████████████████████████████████████████████████████████████████████████████████████████████▎                                                                                 | 172/324 [05:04<01:46,  1.42it/s]
 53%|████████████████████████████████████████████████████████████████████████████████████████████▉                                                                                 | 173/324 [05:04<01:33,  1.62it/s]
 54%|█████████████████████████████████████████████████████████████████████████████████████████████▍                                                                                | 174/324 [05:05<01:42,  1.46it/s]
 54%|█████████████████████████████████████████████████████████████████████████████████████████████▉                                                                                | 175/324 [05:06<01:36,  1.54it/s]
 54%|██████████████████████████████████████████████████████████████████████████████████████████████▌                                                                               | 176/324 [05:07<01:45,  1.41it/s]
 55%|███████████████████████████████████████████████████████████████████████████████████████████████                                                                               | 177/324 [05:07<01:47,  1.37it/s]
 55%|███████████████████████████████████████████████████████████████████████████████████████████████▌                                                                              | 178/324 [05:08<01:36,  1.52it/s]
 55%|████████████████████████████████████████████████████████████████████████████████████████████████▏                                                                             | 179/324 [05:09<01:34,  1.54it/s]
 56%|████████████████████████████████████████████████████████████████████████████████████████████████▋                                                                             | 180/324 [05:09<01:36,  1.49it/s]
 56%|█████████████████████████████████████████████████████████████████████████████████████████████████▏                                                                            | 181/324 [05:10<01:34,  1.51it/s]
 56%|█████████████████████████████████████████████████████████████████████████████████████████████████▋                                                                            | 182/324 [05:11<01:32,  1.53it/s]
 56%|██████████████████████████████████████████████████████████████████████████████████████████████████▎                                                                           | 183/324 [05:11<01:33,  1.51it/s]
 57%|██████████████████████████████████████████████████████████████████████████████████████████████████▊                                                                           | 184/324 [05:12<01:38,  1.42it/s]
 57%|███████████████████████████████████████████████████████████████████████████████████████████████████▎                                                                          | 185/324 [05:13<01:39,  1.40it/s]
 57%|███████████████████████████████████████████████████████████████████████████████████████████████████▉                                                                          | 186/324 [05:14<01:43,  1.33it/s]
 58%|████████████████████████████████████████████████████████████████████████████████████████████████████▍                                                                         | 187/324 [05:14<01:37,  1.40it/s]
 58%|████████████████████████████████████████████████████████████████████████████████████████████████████▉                                                                         | 188/324 [05:15<01:42,  1.33it/s]
 58%|█████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                        | 189/324 [05:16<01:32,  1.46it/s]
 59%|██████████████████████████████████████████████████████████████████████████████████████████████████████                                                                        | 190/324 [05:16<01:29,  1.49it/s]
 59%|██████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                       | 191/324 [05:17<01:33,  1.43it/s]
 59%|███████████████████████████████████████████████████████████████████████████████████████████████████████                                                                       | 192/324 [05:18<01:31,  1.44it/s]
 60%|███████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                                      | 193/324 [05:18<01:28,  1.48it/s]
 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                                                     | 194/324 [05:19<01:34,  1.38it/s]
 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                                     | 195/324 [05:20<01:30,  1.43it/s]
 60%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                                                    | 196/324 [05:21<01:38,  1.30it/s]
 61%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                                                    | 197/324 [05:22<01:38,  1.29it/s]
 61%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                                                   | 198/324 [05:22<01:35,  1.32it/s]
 61%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                                                   | 199/324 [05:23<01:37,  1.29it/s]
 62%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                                                  | 200/324 [05:24<01:30,  1.38it/s]
 62%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▉                                                                  | 201/324 [05:25<01:39,  1.24it/s]
 62%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                                                 | 202/324 [05:26<01:40,  1.21it/s]
 63%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████                                                                 | 203/324 [05:26<01:30,  1.34it/s]
 63%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                | 204/324 [05:27<01:25,  1.41it/s]
 63%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████                                                                | 205/324 [05:28<01:28,  1.34it/s]
 64%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                               | 206/324 [05:28<01:23,  1.41it/s]
 64%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                                              | 207/324 [05:29<01:24,  1.39it/s]
 64%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                              | 208/324 [05:30<01:29,  1.29it/s]
 65%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                                             | 209/324 [05:30<01:22,  1.39it/s]
 65%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                                             | 210/324 [05:31<01:21,  1.40it/s]
 65%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                                            | 211/324 [05:32<01:21,  1.39it/s]
 65%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                                            | 212/324 [05:32<01:15,  1.48it/s]
 66%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                                           | 213/324 [05:33<01:09,  1.61it/s]
 66%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                                                           | 214/324 [05:34<01:07,  1.64it/s]
 66%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                                          | 215/324 [05:34<01:16,  1.43it/s]
 67%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                                          | 216/324 [05:35<01:19,  1.36it/s]
 67%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                         | 217/324 [05:36<01:18,  1.36it/s]
 67%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                                         | 218/324 [05:37<01:19,  1.33it/s]
 68%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                        | 219/324 [05:37<01:16,  1.37it/s]
 68%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                                       | 220/324 [05:38<01:13,  1.41it/s]
 68%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                       | 221/324 [05:39<01:18,  1.31it/s]
 69%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                                      | 222/324 [05:40<01:19,  1.28it/s]
 69%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                                      | 223/324 [05:41<01:19,  1.27it/s]
 69%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                                     | 224/324 [05:41<01:21,  1.23it/s]
 69%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                                     | 225/324 [05:42<01:09,  1.43it/s]
 70%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                                    | 226/324 [05:43<01:13,  1.33it/s]
 70%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                                                    | 227/324 [05:43<01:10,  1.39it/s]
 70%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                                   | 228/324 [05:44<01:08,  1.41it/s]
 71%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                                                   | 229/324 [05:45<01:04,  1.48it/s]
 71%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                  | 230/324 [05:45<01:00,  1.55it/s]
 71%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                                  | 231/324 [05:46<00:56,  1.64it/s]
 72%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                 | 232/324 [05:47<01:01,  1.50it/s]
 72%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                                | 233/324 [05:47<00:57,  1.58it/s]
 72%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                | 234/324 [05:48<00:54,  1.66it/s]
 73%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                               | 235/324 [05:48<00:54,  1.62it/s]
 73%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                               | 236/324 [05:49<00:55,  1.58it/s]
 73%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                              | 237/324 [05:49<00:50,  1.72it/s]
 73%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                              | 238/324 [05:50<00:52,  1.64it/s]
 74%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                             | 239/324 [05:51<00:48,  1.77it/s]
 74%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                                             | 240/324 [05:51<00:50,  1.66it/s]
 74%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                            | 241/324 [05:52<00:52,  1.58it/s]
 75%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                                            | 242/324 [05:52<00:48,  1.69it/s]
 75%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                           | 243/324 [05:53<00:51,  1.56it/s]
 75%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                           | 244/324 [05:54<00:49,  1.62it/s]
 76%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                          | 245/324 [05:55<00:50,  1.56it/s]
 76%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                          | 246/324 [05:55<00:56,  1.38it/s]
 76%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                         | 247/324 [05:56<00:56,  1.35it/s]
 77%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                        | 248/324 [05:57<00:47,  1.59it/s]
 77%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                        | 249/324 [05:57<00:46,  1.60it/s]
 77%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                       | 250/324 [05:58<00:51,  1.45it/s]
 77%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                       | 251/324 [05:58<00:45,  1.61it/s]
 78%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                                      | 252/324 [06:00<00:53,  1.36it/s]
 78%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                      | 253/324 [06:00<00:54,  1.30it/s]
 78%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                     | 254/324 [06:01<00:58,  1.21it/s]
 79%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                                     | 255/324 [06:02<00:54,  1.27it/s]
 79%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                                    | 256/324 [06:03<00:48,  1.41it/s]
 79%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                    | 257/324 [06:03<00:48,  1.39it/s]
 80%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                   | 258/324 [06:04<00:49,  1.32it/s]
 80%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                   | 259/324 [06:05<00:42,  1.53it/s]
 80%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                  | 260/324 [06:05<00:44,  1.43it/s]
 81%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                 | 261/324 [06:06<00:45,  1.39it/s]
 81%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                 | 262/324 [06:07<00:39,  1.56it/s]
 81%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                                | 263/324 [06:07<00:41,  1.46it/s]
 81%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                | 264/324 [06:08<00:38,  1.55it/s]
 82%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                               | 265/324 [06:08<00:37,  1.59it/s]
 82%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                               | 266/324 [06:09<00:32,  1.78it/s]
 82%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                              | 267/324 [06:09<00:31,  1.81it/s]
 83%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                              | 268/324 [06:10<00:31,  1.80it/s]
 83%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                             | 269/324 [06:11<00:35,  1.53it/s]
 83%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                             | 270/324 [06:11<00:32,  1.67it/s]
 84%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                            | 271/324 [06:12<00:32,  1.62it/s]
 84%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                            | 272/324 [06:13<00:32,  1.60it/s]
 84%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                           | 273/324 [06:13<00:27,  1.84it/s]
 85%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                          | 274/324 [06:13<00:25,  1.97it/s]
 85%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                          | 275/324 [06:14<00:26,  1.85it/s]
 85%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                         | 276/324 [06:14<00:23,  2.00it/s]
 85%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                         | 277/324 [06:15<00:27,  1.71it/s]
 86%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                        | 278/324 [06:16<00:26,  1.74it/s]
 86%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                        | 279/324 [06:17<00:30,  1.49it/s]
 86%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                       | 280/324 [06:17<00:29,  1.47it/s]
 87%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                       | 281/324 [06:18<00:25,  1.69it/s]
 87%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍                      | 282/324 [06:19<00:27,  1.55it/s]
 87%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                      | 283/324 [06:19<00:25,  1.59it/s]
 88%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                     | 284/324 [06:20<00:22,  1.77it/s]
 88%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                     | 285/324 [06:20<00:22,  1.74it/s]
 88%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌                    | 286/324 [06:21<00:23,  1.62it/s]
 89%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                   | 287/324 [06:21<00:23,  1.60it/s]
 89%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                   | 288/324 [06:22<00:23,  1.51it/s]
 89%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏                  | 289/324 [06:23<00:21,  1.66it/s]
 90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                  | 290/324 [06:23<00:22,  1.52it/s]
 90%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                 | 291/324 [06:24<00:21,  1.54it/s]
 90%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                 | 292/324 [06:25<00:18,  1.70it/s]
 90%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎                | 293/324 [06:25<00:19,  1.58it/s]
 91%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                | 294/324 [06:26<00:20,  1.47it/s]
 91%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍               | 295/324 [06:27<00:19,  1.50it/s]
 91%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉               | 296/324 [06:27<00:17,  1.60it/s]
 92%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌              | 297/324 [06:28<00:16,  1.61it/s]
 92%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████              | 298/324 [06:29<00:17,  1.49it/s]
 92%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌             | 299/324 [06:29<00:16,  1.48it/s]
 93%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████             | 300/324 [06:30<00:16,  1.46it/s]
 93%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋            | 301/324 [06:30<00:14,  1.62it/s]
 93%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏           | 302/324 [06:31<00:12,  1.72it/s]
 94%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋           | 303/324 [06:32<00:12,  1.73it/s]
 94%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎          | 304/324 [06:32<00:11,  1.73it/s]
 94%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊          | 305/324 [06:33<00:12,  1.50it/s]
 94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎         | 306/324 [06:33<00:10,  1.69it/s]
 95%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊         | 307/324 [06:34<00:09,  1.77it/s]
 95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍        | 308/324 [06:35<00:10,  1.55it/s]
 95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉        | 309/324 [06:35<00:08,  1.69it/s]
 96%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍       | 310/324 [06:36<00:08,  1.66it/s]
 96%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████       | 311/324 [06:37<00:08,  1.54it/s]
 96%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌      | 312/324 [06:37<00:06,  1.78it/s]
 97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████      | 313/324 [06:37<00:05,  1.85it/s]
 97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋     | 314/324 [06:38<00:05,  1.67it/s]
 97%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏    | 315/324 [06:39<00:05,  1.76it/s]
 98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋    | 316/324 [06:39<00:04,  1.76it/s]
 98%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏   | 317/324 [06:40<00:04,  1.71it/s]
 98%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊   | 318/324 [06:41<00:03,  1.56it/s]
 98%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎  | 319/324 [06:41<00:02,  1.70it/s]
 99%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊  | 320/324 [06:42<00:02,  1.87it/s]
 99%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 321/324 [06:42<00:01,  1.83it/s]
 99%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 322/324 [06:43<00:01,  1.70it/s]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍| 323/324 [06:43<00:00,  1.87it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 324/324 [06:44<00:00,  1.78it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 324/324 [06:44<00:00,  1.25s/it]

from global_land_mask import globe
lat = outgrid.lat.values
lon = outgrid.lon.values
lon_grid, lat_grid = np.meshgrid(lon,lat)
globe_ocean_mask = globe.is_ocean(lat_grid, lon_grid)
out_plot = (
    outgrid.sel(time='2019-05-15').where(globe_ocean_mask)
    .pipe(lambda ds: ds.where(ds <3))
    .pipe(lambda ds: ds.where(ds >-3))
)
out_plot.hvplot(
    kind='quadmesh',
    geo=True,
    coastline=True,
    width=7000,
    height=500,
    cmap='RdYlBu_r'
)
import ocn_tools._src.geoprocessing.geostrophic as geo
import ocn_tools._src.geoprocessing.validation as val
(
    out_plot
    .where(np.abs(out_plot.lat)>10)
    .to_dataset(name='ssh')
    .pipe(val.validate_latlon)
    .pipe(geo.geostrophic_velocities)
    .pipe(geo.kinetic_energy)
).ke.hvplot(
    kind='quadmesh',
    geo=True,
    width=7000,
    height=500,
    cmap='viridis',
    clim=(0, 0.3)

)
/raid/localscratch/qfebvre/ocb/ocb-docs/lib/python3.11/site-packages/pint/facets/plain/quantity.py:998: RuntimeWarning: divide by zero encountered in divide
  magnitude = magnitude_op(new_self._magnitude, other._magnitude)
!ocb-dc_ose_2021-metrics --cfg job -p params
# @package params
method: default
study_path: data/downloads/method_outputs/${.method}.nc
study_var: ssh
sat: c2
min_time: '2017-01-01'
max_time: '2017-12-31'
min_lon: -65.0
max_lon: -55.0
min_lat: 33.0
max_lat: 43.0

%%writefile conf/aprl/overrides/global_eval.yaml
# @package params

study_path: output.nc
study_var: ssh
sat: alg
min_time: '2019-05-15'
max_time: '2019-05-16'
min_lon: -180
max_lon: 180
min_lat: -90
max_lat: 90
Writing conf/aprl/overrides/global_eval.yaml
!ocb-dc_ose_2021-metrics -m \
    'hydra.searchpath=[file://conf]' \
      +overrides@params=global_eval \
      dry=True
[2024-04-10 09:58:39,843][HYDRA] Launching 1 jobs locally
[2024-04-10 09:58:39,843][HYDRA] 	#0 : +overrides@params=global_eval dry=True
[2024-04-10 09:58:39,957][aprl.appareil][INFO] - Starting
[2024-04-10 09:58:39,957][aprl.appareil][INFO] - Running part _01_dl_track
[2024-04-10 09:58:39,957][aprl.appareil][INFO] - Running part _02_prepare_track
[2024-04-10 09:58:39,957][aprl.appareil][INFO] - Running part _03_interp_on_track
[2024-04-10 09:58:39,957][aprl.appareil][INFO] - Running part _04_1_lambdax
[2024-04-10 09:58:39,957][aprl.appareil][INFO] - Running part _04_2_mu
[2024-04-10 09:58:39,957][aprl.appareil][INFO] - Done

dt, t = pd.to_timedelta("1D"), pd.to_datetime('2019-05-15')
out_grid = outgrid.pipe(val.validate_latlon).ssh.pad(time=1, mode='edge').assign_coords(
    time=pd.date_range(t-dt, t+dt, freq=dt)
).to_dataset(name='ssh')
out_grid.to_netcdf('output.nc')
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[16], line 2
      1 dt, t = pd.to_timedelta("1D"), pd.to_datetime('2019-05-15')
----> 2 out_grid = outgrid.pipe(val.validate_latlon).ssh.pad(time=1, mode='edge').assign_coords(
      3     time=pd.date_range(t-dt, t+dt, freq=dt)
      4 ).to_dataset(name='ssh')
      5 out_grid.to_netcdf('output.nc')

File /raid/localscratch/qfebvre/ocb/ocb-docs/lib/python3.11/site-packages/xarray/core/common.py:285, in AttrAccessMixin.__getattr__(self, name)
    283         with suppress(KeyError):
    284             return source[name]
--> 285 raise AttributeError(
    286     f"{type(self).__name__!r} object has no attribute {name!r}"
    287 )

AttributeError: 'DataArray' object has no attribute 'ssh'
!ocb-dc_ose_2021-metrics \
    'hydra.searchpath=[file://conf]' \
      +overrides@params=global_eval dry=True
!ocb-dc_ose_2021-metrics\
    'hydra.searchpath=[file://conf]' \
     +overrides@params=global_eval
import pandas as pd
import glob
print(pd.concat([pd.read_json(p, typ='series') for p in glob.glob('data/metrics/*.json')]).to_markdown())